header{
	package damas;
}  


/**
 * Clase Analex
 * Realiza el analisis lexico
 * @author Claudia Luque | Vanesa Gonzalez | Juan Jesus Fernandez |
 * Adrian Bellido | Jose Antonio Marin
 */
class Analex extends Lexer;

options{
	exportVocab=Analex;
}


// deteccion de comentarios
COMENTARIO_LINEA :
  "--" ( ~('\n'|'\r') )* 
  {$setType(Token.SKIP);} {System.out.println("comentario de una linea");}; 

COMENTARIO_VARIAS :
  '{' (~('}'))* '}'
  {$setType(Token.SKIP);} {System.out.println("comentario de varias lineas");};



// tokens basicos
BLANCO : (' '|'\t'|"\r"|"\n") {$setType(Token.SKIP);};

PARENT_AB: '(';
PARENT_CE: ')';

COMA: ',';
PCOMA: ';';
COMILLA: '"';

NUMERO: ('0'..'9')+ ;
LETRA: ('A'..'Z');

CADENA: ('A'..'Z')+;


// zonas del interprete
//BEGIN :"begin";  // nuestra orden final sera "begin_game", "begin_def", etc
//END : "end";
//GAME : "game";
//DEF: "def";
//ACT: "act";

// bucles
//COMPROBAR CON LAS ORDENES DEL DOCUMENTO
//WHILE : "while";
//PLAY: "play";
//DAM: "dam";
//IF: "if";
//FOR: "for";
//FROM: "from";




A:"a";
B:"b";
C:"c";
D:"d";
E:"e";
F:"f";
G:"g";
H:"h";
I:"i";
J:"j";
K:"k";
L:"l";
M:"m";
N:"n";
O:"o";
P:"p";
Q:"q";
R:"r";
S:"s";
T:"t";
U:"u";
V:"v";
W:"w";
X:"x";
Y:"y";
Z:"z";

	
  